package site.lanmushan.framework.mapper.wrapper;

import java.util.List;

/**
 * @author Administrator
 */
public interface WhereWrapper {


    QueryWrapper eq(String column, Object... values);

    QueryWrapper notEq(String column, Object... values);

    QueryWrapper gt(String column, Object... values);

    QueryWrapper gte(String column, Object... values);

    QueryWrapper lt(String column, Object... values);

    QueryWrapper lte(String column, Object... values);

    QueryWrapper like(String column, Object... values);

    QueryWrapper leftLike(String column, Object... values);

    QueryWrapper rightLike(String column, Object... values);

    QueryWrapper orLike(List<String> columns,String value);

    QueryWrapper orLeftLike(List<String> columns,String value);
    QueryWrapper orRightLike(List<String> columns,String value);

    QueryWrapper in(String column, Object... values);

    QueryWrapper in(QueryWrapper queryWrapper);

    QueryWrapper notIn(String column, Object... values);

    QueryWrapper notIn(QueryWrapper queryWrapper);

    QueryWrapper and(QueryWrapper queryWrapper);

    QueryWrapper or(QueryWrapper queryWrapper);

    /**
     * column=value or xxx=value
     * @param column
     * @param values
     * @return
     */
    QueryWrapper or(String column, Object... values);

    QueryWrapper groupBy(String... columns);

    QueryWrapper orderBy(String orderBy);

    QueryWrapper exists(String exists);
}
